package com.demo.service;


import com.demo.bean.User;

/**
 * @author 李天航
 * 操作redis的类
 */
public interface RedisService {

    /**
     * 获取用户的ip地址
     * @param userAccount 用户账号
     * @return ip地址
     */
    String getUserIp(String userAccount);

    /**
     * 设置用户的ip地址
     * @param userAccount 用户账号
     * @param ipAddress ip地址
     */
    void setUserIp(String userAccount, String ipAddress);

    /**
     * 设置当前用户账号被哪个session所占有
     * @param userAccount 用户账号
     * @param sessionId session编号
     */
    void setUserSessionId(String userAccount,String sessionId);

    /**
     * 获取账号被哪个session所使用
     * @param userAccount 用户账号
     * @return sessionId
     */
    String getSessionIdByUserAccount(String userAccount);
    /**
     * 分布式session，存储数据
     * @param sessionId session编号
     * @param key key值
     * @param data 数据
     */
    void setSessionData(String sessionId,String key,Object data);

    /**
     * 获取相关数据
     * @param sessionId 编号
     * @param key 键值
     * @return 数据
     */
    Object getSessionData(String sessionId,String key);

    /**
     * 重置过期时间
     * @param sessionId
     */
    void resetKeyTime(String sessionId);

}
